<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <link rel="icon" href="../static/images/favicon.ico">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../lib/layui-v2.5.4/css/layui.css" media="all">
    <link rel="stylesheet" href="css/layuimini.css" media="all">
    <link rel="stylesheet" href="lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
    <link rel="stylesheet" href="../css/public.css" media="all">
    <style id="layuimini-bg-color">
    </style>
</head>
<body class="layuimini-containerl">
<div class="layui-layout layui-layout-admin">
    <div class="layuimini-main">
        <form class="layui-form" action="">
            <div class="layui-form-item">
                <label class="layui-form-label">姓名</label>
                <div class="layui-input-block">
                    <input type="text" name="title" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label">领域</label>
                <div class="layui-input-block">
                    <select name="interest" lay-filter="aihao">
                        <option value=""></option>
                        <option value="0">写作</option>
                        <option value="1" selected="">阅读</option>
                        <option value="2">游戏</option>
                        <option value="3">音乐</option>
                        <option value="4">旅行</option>
                    </select>
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label">版本</label>
                <div class="layui-input-block">
                    <select name="interest" lay-filter="aihao">
                        <option value=""></option>
                        <option value="0">写作</option>
                        <option value="1">阅读</option>
                        <option value="2">游戏</option>
                        <option value="3">音乐</option>
                        <option value="4">旅行</option>
                    </select>
                </div>
            </div>

            <div class="layui-form-item layui-form-text">
                <label class="layui-form-label">普通文本域</label>
                <div class="layui-input-block">
                    <textarea placeholder="请输入内容" class="layui-textarea"></textarea>
                </div>
            </div>

            <div class="layui-form-item">
                <div class="layui-input-block">
                    <button class="layui-btn" lay-submit="" lay-filter="searchQuestion">立即提交</button>
                    <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                </div>
            </div>
        </form>
        <table id="answerList" lay-filter="test"></table>
    </div>
</div>

<script src="../lib/layui-v2.5.4/layui.js" charset="utf-8"></script>
<script src="lib/layui-v2.5.4/layui.js?v=1.0.4" charset="utf-8"></script>
<script src="js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<!-- 注意：如果你直接复制所有代码到本地，上述js路径需要改成你本地的 -->
<script>
    layui.use(['form', 'table', 'layedit', 'laydate'], function () {
        var form = layui.form
            , layer = layui.layer
            , layedit = layui.layedit
            , laydate = layui.laydate
            , table = layui.table;

        //创建一个编辑器
        var editIndex = layedit.build('LAY_demo_editor');

        //自定义验证规则
        form.verify({
            title: function (value) {
                if (value.length < 5) {
                    return '标题至少得5个字符啊';
                }
            }
            , pass: [
                /^[\S]{6,12}$/
                , '密码必须6到12位，且不能出现空格'
            ]
            , content: function (value) {
                layedit.sync(editIndex);
            }
        });

        //监听指定开关
        // form.on('switch(switchTest)', function (data) {
        //     layer.msg('开关checked：' + (this.checked ? 'true' : 'false'), {
        //         offset: '6px'
        //     });
        //     layer.tips('温馨提示：请注意开关状态的文字可以随意定义，而不仅仅是ON|OFF', data.othis)
        // });

        //监听提交
        form.on('submit(searchQuestion)', function (data) {
            debugger
            // layer.alert(JSON.stringify(data.field), {
            //     title: '最终的提交信息'
            // })

            table.reload('answerList',
                {
                    data: [{"id":10000,"username":"user-2","sex":"女","city":"城市-0",
                        "sign":"签名-0","experience":255,"logins":24,
                        "words":82830700,"classify":"作家","score":57},
                        {"id":10001,"username":"user-3","sex":"女","city":"城市-0",
                            "sign":"签名-0","experience":255,"logins":24,
                            "words":82830700,"classify":"作家","score":57}]
                }
            )
            return false;
        });

        // table.render({
        //     elem: '#currentTableId',
        //     url: '../api/table.json',
        //     cols: [[
        //         {type: "checkbox", width: 50, fixed: "left"},
        //         {field: 'id', width: 80, title: 'ID', sort: true},
        //         {field: 'username', width: 80, title: '用户名'},
        //         {field: 'sex', width: 80, title: '性别', sort: true},
        //         {field: 'city', width: 80, title: '城市'},
        //         {field: 'sign', title: '签名', minWidth: 150},
        //         {field: 'experience', width: 80, title: '积分', sort: true},
        //         {field: 'score', width: 80, title: '评分', sort: true},
        //         {field: 'classify', width: 80, title: '职业'},
        //         {field: 'wealth', width: 135, title: '财富', sort: true},
        //         {title: '操作', minWidth: 50, templet: '#currentTableBar', fixed: "right", align: "center"}
        //     ]],
        //     limits: [10, 15, 20, 25, 50, 100],
        //     limit: 15,
        //     page: true
        // });
        // 创建渲染实例
        // 创建渲染实例
        table.render({
            elem: '#answerList',
            // url: '/static/json/2/table/demo1.json', // 此处为静态模拟数据，实际使用时需换成真实接口
            data:
                [{"id":10000,"username":"user-0","sex":"女","city":"城市-0",
                    "sign":"签名-0","experience":255,"logins":24,
                    "words":82830700,"classify":"作家","score":57}],
            toolbar: '#toolbarDemo',
            defaultToolbar: ['filter', 'exports', 'print', {
                title: '提示',
                layEvent: 'LAYTABLE_TIPS',
                icon: 'layui-icon-tips'
            }],
            height: 'full-35', // 最大高度减去其他容器已占有的高度差
            css: [ // 重设当前表格样式
                '.layui-table-tool-temp{padding-right: 145px;}'
            ].join(''),
            cellMinWidth: 80,
            // totalRow: true, // 开启合计行
            page: true,
            cols: [[
                {type: 'checkbox', fixed: 'left'},
                {field:'id', fixed: 'left', width:80, title: 'ID', sort: true, totalRow: '合计：'},
                {field:'username', width:80, title: '用户'},
                {field:'sex', width:80, title: '性别', sort: true},
                {field:'sign', title: '签名', edit: 'textarea', minWidth: 260, expandedWidth: 260, totalRow: '人物：<span class="layui-badge-rim">唐代：{{= d.TOTAL_ROW.era.tang }} </span> <span class="layui-badge-rim">宋代：{{= d.TOTAL_ROW.era.song }}</span> <span class="layui-badge-rim">现代：{{= d.TOTAL_ROW.era.xian }}</span>'},
                {field:'experience', width: 100, title: '积分', sort: true, totalRow: '{{= d.TOTAL_NUMS }} 😊'},
            ]],
            // done: function(){
            //     var id = this.id;
            //     // 下拉按钮测试
            //     dropdown.render({
            //         elem: '#dropdownButton', // 可绑定在任意元素中，此处以上述按钮为例
            //         data: [{
            //             id: 'add',
            //             title: '添加'
            //         },{
            //             id: 'update',
            //             title: '编辑'
            //         },{
            //             id: 'delete',
            //             title: '删除'
            //         }],
            //         // 菜单被点击的事件
            //         click: function(obj){
            //             var checkStatus = table.checkStatus(id)
            //             var data = checkStatus.data; // 获取选中的数据
            //             switch(obj.id){
            //                 case 'add':
            //                     layer.open({
            //                         title: '添加',
            //                         type: 1,
            //                         area: ['80%','80%'],
            //                         content: '<div style="padding: 16px;">自定义表单元素</div>'
            //                     });
            //                     break;
            //                 case 'update':
            //                     if(data.length !== 1) return layer.msg('请选择一行');
            //                     layer.open({
            //                         title: '编辑',
            //                         type: 1,
            //                         area: ['80%','80%'],
            //                         content: '<div style="padding: 16px;">自定义表单元素</div>'
            //                     });
            //                     break;
            //                 case 'delete':
            //                     if(data.length === 0){
            //                         return layer.msg('请选择一行');
            //                     }
            //                     layer.msg('delete event');
            //                     break;
            //             }
            //         }
            //     });
            //
            //     // 重载测试
            //     dropdown.render({
            //         elem: '#reloadTest', // 可绑定在任意元素中，此处以上述按钮为例
            //         data: [{
            //             id: 'reload',
            //             title: '重载'
            //         },{
            //             id: 'reload-deep',
            //             title: '重载 - 参数叠加'
            //         },{
            //             id: 'reloadData',
            //             title: '仅重载数据'
            //         },{
            //             id: 'reloadData-deep',
            //             title: '仅重载数据 - 参数叠加'
            //         }],
            //         // 菜单被点击的事件
            //         click: function(obj){
            //             switch(obj.id){
            //                 case 'reload':
            //                     // 重载 - 默认（参数重置）
            //                     table.reload('test', {
            //                         where: {
            //                             abc: '123456',
            //                             //test: '新的 test2',
            //                             //token: '新的 token2'
            //                         },
            //                         /*
            //                         cols: [[ // 重置表头
            //                           {type: 'checkbox', fixed: 'left'},
            //                           {field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true, totalRow: '合计：'},
            //                           {field:'sex', title:'性别', width:80, edit: 'text', sort: true},
            //                           {field:'experience', title:'积分', width:80, sort: true, totalRow: true, templet: '<div>{{= d.experience }} 分</div>'},
            //                           {field:'logins', title:'登入次数', width:100, sort: true, totalRow: true},
            //                           {field:'joinTime', title:'加入时间', width:120}
            //                         ]]
            //                         */
            //                     });
            //                     break;
            //                 case 'reload-deep':
            //                     // 重载 - 深度（参数叠加）
            //                     table.reload('test', {
            //                         where: {
            //                             abc: 123,
            //                             test: '新的 test1'
            //                         },
            //                         //defaultToolbar: ['print'], // 重载头部工具栏右侧图标
            //                         //cols: ins1.config.cols
            //                     }, true);
            //                     break;
            //                 case 'reloadData':
            //                     // 数据重载 - 参数重置
            //                     table.reloadData('test', {
            //                         where: {
            //                             abc: '123456',
            //                             //test: '新的 test2',
            //                             //token: '新的 token2'
            //                         },
            //                         scrollPos: 'fixed',  // 保持滚动条位置不变 - v2.7.3 新增
            //                         height: 2000, // 测试无效参数（即与数据无关的参数设置无效，此处以 height 设置无效为例）
            //                         //url: '404',
            //                         //page: {curr: 1, limit: 30} // 重新指向分页
            //                     });
            //                     break;
            //                 case 'reloadData-deep':
            //                     // 数据重载 - 参数叠加
            //                     table.reloadData('test', {
            //                         where: {
            //                             abc: 123,
            //                             test: '新的 test1'
            //                         }
            //                     }, true);
            //                     break;
            //             }
            //             layer.msg('可观察 Network 请求参数的变化');
            //         }
            //     });
            //
            //     // 行模式
            //     dropdown.render({
            //         elem: '#rowMode',
            //         data: [{
            //             id: 'default-row',
            //             title: '单行模式（默认）'
            //         },{
            //             id: 'multi-row',
            //             title: '多行模式'
            //         }],
            //         // 菜单被点击的事件
            //         click: function(obj){
            //             var checkStatus = table.checkStatus(id)
            //             var data = checkStatus.data; // 获取选中的数据
            //             switch(obj.id){
            //                 case 'default-row':
            //                     table.reload('test', {
            //                         lineStyle: null // 恢复单行
            //                     });
            //                     layer.msg('已设为单行');
            //                     break;
            //                 case 'multi-row':
            //                     table.reload('test', {
            //                         // 设置行样式，此处以设置多行高度为例。若为单行，则没必要设置改参数 - 注：v2.7.0 新增
            //                         lineStyle: 'height: 95px;'
            //                     });
            //                     layer.msg('即通过设置 lineStyle 参数可开启多行');
            //                     break;
            //             }
            //         }
            //     });
            // },
            // error: function(res, msg){
            //     console.log(res, msg)
            // }
        });

        // 工具栏事件
        table.on('toolbar(test)', function(obj){
            var id = obj.config.id;
            var checkStatus = table.checkStatus(id);
            var othis = lay(this);
            switch(obj.event){
                case 'getCheckData':
                    var data = checkStatus.data;
                    layer.alert(layui.util.escape(JSON.stringify(data)));
                    break;
                case 'getData':
                    var getData = table.getData(id);
                    console.log(getData);
                    layer.alert(layui.util.escape(JSON.stringify(getData)));
                    break;
                case 'LAYTABLE_TIPS':
                    layer.alert('自定义工具栏图标按钮');
                    break;
            };
        });
        // 表头自定义元素工具事件 --- 2.8.8+
        table.on('colTool(test)', function(obj){
            var event = obj.event;
            console.log(obj);
            if(event === 'email-tips'){
                layer.alert(layui.util.escape(JSON.stringify(obj.col)), {
                    title: '当前列属性配置项'
                });
            }
        });
    });
</script>

</body>
</html>